#ifndef _HCC_ERROR_CODE_DRV_IDP_MDIO_H_
#define _HCC_ERROR_CODE_DRV_IDP_MDIO_H_

#include "ofc_types.h"
#include "hcc_error_code.h"
#include "hcc_error_code_drv.h"

#ifdef __cplusplus
extern "C" {
#endif

// 不含行号的错误码生成
#define HCC_MAKE_DRV_IDP_MDIO_ERROR(error_code) (int)HCC_MAKE_DRIVER_ERROR(kHccDrvIdpMdio, error_code, HCC_ERROR_LEVEL_ERROR)
// 含行号的错误码生成
#define HCC_MAKE_DRV_IDP_MDIO_ERROR_LINE(error_code) (int)HCC_ERROR(HCC_MAKE_DRIVER_ERROR(kHccDrvIdpMdio, error_code, HCC_ERROR_LEVEL_ERROR))


/**
 * IO模拟MDIO驱动:IO模拟MDIO驱动
 */
enum THccDrvIdpMdioTag
{
	kHccDrvIdpMdioSuccess	=	HCC_ERROR_SUCCESS,			///< 成功,没有错误
	kHccDrvIdpMdioComm	=	HCC_MAKE_DRV_IDP_MDIO_ERROR(0),			///<通讯错误
	kHccDrvIdpMdioParam	=	HCC_MAKE_DRV_IDP_MDIO_ERROR(1),			///<参数错误
	kHccDrvIdpMdioCallBack	=	HCC_MAKE_DRV_IDP_MDIO_ERROR(2),			///<回调函数未设置
	kHccDrvIdpMdioExist	=	HCC_MAKE_DRV_IDP_MDIO_ERROR(3),			///<芯片不存在(没有使用)
	kHccDrvIdpMdioSupport	=	HCC_MAKE_DRV_IDP_MDIO_ERROR(4),			///<不支持的芯片
	kHccDrvIdpMdioOutOfRange	=	HCC_MAKE_DRV_IDP_MDIO_ERROR(5),			///<超出范围
	kHccDrvIdpMdioOpened	=	HCC_MAKE_DRV_IDP_MDIO_ERROR(6),			///<设备已打开
	kHccDrvIdpMdioClosed	=	HCC_MAKE_DRV_IDP_MDIO_ERROR(7),			///<设备已关闭
	kHccDrvIdpMdioFail	=	HCC_MAKE_DRV_IDP_MDIO_ERROR(8),			///<操作失败
	kHccDrvIdpMdioTimeout	=	HCC_MAKE_DRV_IDP_MDIO_ERROR(9),			///<处理超时
};
typedef enum THccDrvIdpMdioTag THccDrvIdpMdio;


typedef Int32 THccDrvIdpMdioLine;
#define kHccDrvIdpMdioSuccessLine	HCC_ERROR_SUCCESS	///< 成功,没有错误
#define kHccDrvIdpMdioCommLine	HCC_MAKE_DRV_IDP_MDIO_ERROR_LINE(0)	///<通讯错误
#define kHccDrvIdpMdioParamLine	HCC_MAKE_DRV_IDP_MDIO_ERROR_LINE(1)	///<参数错误
#define kHccDrvIdpMdioCallBackLine	HCC_MAKE_DRV_IDP_MDIO_ERROR_LINE(2)	///<回调函数未设置
#define kHccDrvIdpMdioExistLine	HCC_MAKE_DRV_IDP_MDIO_ERROR_LINE(3)	///<芯片不存在(没有使用)
#define kHccDrvIdpMdioSupportLine	HCC_MAKE_DRV_IDP_MDIO_ERROR_LINE(4)	///<不支持的芯片
#define kHccDrvIdpMdioOutOfRangeLine	HCC_MAKE_DRV_IDP_MDIO_ERROR_LINE(5)	///<超出范围
#define kHccDrvIdpMdioOpenedLine	HCC_MAKE_DRV_IDP_MDIO_ERROR_LINE(6)	///<设备已打开
#define kHccDrvIdpMdioClosedLine	HCC_MAKE_DRV_IDP_MDIO_ERROR_LINE(7)	///<设备已关闭
#define kHccDrvIdpMdioFailLine	HCC_MAKE_DRV_IDP_MDIO_ERROR_LINE(8)	///<操作失败
#define kHccDrvIdpMdioTimeoutLine	HCC_MAKE_DRV_IDP_MDIO_ERROR_LINE(9)	///<处理超时

#ifdef __cplusplus
}  // extern "C"
#endif

#endif // _HCC_ERROR_CODE_DRV_IDP_MDIO_H_
/**
 * @
 */
